LZfuzz: a fast compression-based fuzzer for poorly documented protocols
نویسندگان
چکیده
Computers make very fast, very accurate mistakes. From a refrigerator magnet. Real-world infrastructure offers many scenarios where protocols (and other details) are not released due to being considered too sensitive or for other reasons. This situation makes it hard to apply fuzzing techniques to test their security and reliability, since their full documentation is only available to their developers, and domain developer expertise does not necessarily intersect with fuzz-testing expertise (nor deployment responsibility). State-of-the-art fuzzing techniques, however, work best when protocol specifications are available. Still, operators whose networks include equipment communicating via proprietary protocols should be able to reap the benefits of fuzz-testing them. In particular, administrators should be able to test proprietary protocols in the absence of end-to-end application-level encryption to understand whether they can withstand injection of bad traffic, and thus be able to plan adequate network protection measures. Such protocols can be observed in action prior to fuzzing, and packet captures can be used to learn enough about the structure of the protocol to make fuzzing more efficient. Various machine learning approaches, e.g. bioinformatics methods, have been proposed for learning models of the targeted protocols. The problem with most of these approaches to date is that, although sometimes quite successful, they are very computationally heavy and thus are hardly practical for application by network administrators and equipment owners who cannot easily dedicate a compute cluster to such tasks. We propose a simple method that, despite its roughness, allowed us to learn facts useful for fuzzing from protocol traces at much smaller CPU and time costs. Our fuzzing approach proved itself empirically in testing actual proprietary SCADA protocols in an isolated control network test environment, and was also successful in triggering flaws in implementations of several popular commodity Internet protocols. Our fuzzer, LZfuzz (pronounced “lazy-fuzz”) relies on a variant of Lempel–Ziv compression algorithm to guess boundaries between the structural units of the protocol, and builds on the well-known free software GPF fuzzer.
منابع مشابه
Do-it-yourself Scada Vulnerability Testing with Lzfuzz
Security vulnerabilities typically start with bugs: in input validation, and also in deeper application logic. Fuzz-testing is a popular security evaluation technique in which hostile inputs are crafted and passed to the target software in order to reveal such bugs. However, for SCADA software used in critical infrastructure, the widespread use of proprietary protocols makes it difficult to app...
متن کاملExtending TTCN-3 with Model-Based Fuzzing for Robustness Testing of Telecom Protocols Master of Science Thesis in Computer Systems and Networks
The telecommunication network is classified by governments as a critical infrastructure which must be protected. It provides text and voice communication, Internet access, and emergency services for mobile subscribers worldwide. Operators set high demands on the availability of the telecommunication products and a common level to mark high availability is 99.999%, or less than five and a half m...
متن کاملAngora: Efficient Fuzzing by Principled Search
Fuzzing is a popular technique for finding software bugs. However, the performance of the state-of-the-art fuzzers leaves a lot to be desired. Fuzzers based on symbolic execution produce quality inputs but run slow, while fuzzers based on random mutation run fast but have difficulty producing quality inputs. We propose Angora, a new mutation-based fuzzer that outperforms the state-of-the-art fu...
متن کاملاثر نوروپروتکتیوی استیل الکارنیتین، پس از ضایعه فشار مکانیکی طناب نخاعی موش صحرایی بالغ
Background and Objective: Despite current efforts for treating the spinal cord injury (SCI), cell therapy and pharmacological methods have a great curing potential in this field. In this study, application of acetyl L carnitine as one of the possible pharmacologic approaches in SCI treatment was investigated. The effect of this material in adult rats suffering from spinal cord compression was e...
متن کاملComplementing Model Learning with Mutation-Based Fuzzing
An ongoing challenge for learning algorithms formulated in the Minimally Adequate Teacher framework is to efficiently obtain counterexamples. In this paper we compare and combine conformance testing and mutation-based fuzzing methods for obtaining counterexamples when learning finite state machine models for the reactive software systems of the Rigorous Exampination of Reactive Systems (RERS) c...
متن کامل